package com.uye.tattstemp.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.MappedSuperclass;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.UniqueConstraint;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.NaturalId;

import com.uye.framework.util.StringUtils;
import com.uye.tattstemp.model.IProductivityType;

/**
 * Bean representation of an {@link IProductivityType}
 * 
 * No ORM Specific code should go here!
 * @author uye
 */
@SuppressWarnings("serial")
@MappedSuperclass
public class ProductivityType implements IProductivityType {

    /**
     * Primary Key.
     */
    @Id
    @GeneratedValue
    private Long       id;

    /**
     * Name of the productivity type.
     */
    @NotNull
    private String     name;

    public Long getId() {
        return id;
    }

    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String toString() {
        return StringUtils.toJSONString(this);
    }

}
